import request from '../utils/request';


//GET http://localhost:8081/api/v1/comments?momentId=123&sortType=2&page=3&pageSize=20
/*
根据动态ID获取该动态的顶级评论（可扩展加载二级评论）
     *  @param momentId 动态ID（必填参数）
    * @param sortType 排序方式（可选，默认值=1）: 
    *                 1-按点赞数降序(likeCount desc)，
    *                 2-按时间降序(createTime desc)
    * @param page 页码（可选，默认值=1）
    * @param pageSize 每页条数（可选，默认值=10）
    * @param authorization JWT认证令牌（通过Authorization请求头传递，可选）
    * @return 包含分页信息的顶级评论列表，封装在统一响应结果中
*/
export const getCommentsByMomentIdService = (params) => {
  return request.get('/comments', { params });
}

// GET http://localhost:8081/api/v1/comments/detail?commentId=123&page=3&pageSize=20
/*
根据评论ID获取评论及其子评论（可扩展加载更多评论）
     *  @param commentId 评论ID（必填参数）
    * @param page 页码（可选，默认值=1）
    * @param pageSize 每页条数（可选，默认值=10）
    * @param authorization JWT认证令牌（通过Authorization请求头传递，可选）
    * @return 包含分页信息的评论及其子评论列表，封装在统一响应结果中
    * 注意：返回的评论列表中，每个评论都包含其子评论列表，子评论列表中包含分页信息
    * 注意：返回的评论列表中，每个评论都包含作者信息，作者信息中包含用户ID、用户名、头像等信息
* */
export const getCommentByIdWithChildrenService = (params) => {
  return request.get('/comments/detail', { params });
}

// DELETE http://localhost:8081/api/v1/comments/123
/*
删除指定评论
*/
export const deleteCommentByIdService = (commentId) => {
  return request.delete(`/comments/${commentId}`);
}


// POST http://localhost:8081/api/v1/comments/{{commentId}}/toggle-like
export const toggleCommentLikeService = (commentId) => {
  return request.post(`/comments/${commentId}/toggle-like`);
}

// POST http://localhost:8081/api/v1/comments
/*
新增评论
*/
export const createCommentService = (data) => {
  return request.post('/comments', data);
}